package com.diaohw.platform.framework.db.utils;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.diaohw.platform.common.obj.page.PageDto;

import java.time.LocalDateTime;

public class WrapperUtils {


    /**
     * 时间查询封装
     *
     * @param wrapper 查询条件
     * @param column  字段名称
     * @param start   开始时间
     * @param end     结束时间
     * @param <T>     实体类
     */
    public static <T> void time(LambdaQueryWrapper<T> wrapper, SFunction<T, LocalDateTime> column, LocalDateTime start, LocalDateTime end) {
        if (start != null && end != null) {
            wrapper.between(column, start, end);
        } else if (start != null) {
            wrapper.ge(column, start);
        } else if (end != null) {
            wrapper.le(column, end);
        }
    }

    /**
     * 分页
     */
    public static <T> Page<T> createPage(PageDto page) {
        return new Page<>(page.getPageIndex(), page.getPageSize());
    }


}
